package Exercise;

import java.util.*;

public class demo2 {
    //1、统计10W个数据当中，不重复的数据？[去重]
    public static void func1(int[] array) {
        TreeSet<Integer> set = new TreeSet<>();
        for (int i = 0; i < array.length; i++) {
            set.add(array[i]);
        }
        System.out.println(set);
    }

    //2、统计10W个数据当中，第一个重复的数据？
    public static void func2(int[] array) {
        HashSet<Integer> set = new HashSet<>();
        for (int i = 0; i < array.length; i++) {
            if(!set.contains(array[i])) {
                set.add(array[i]);
            }else{
                System.out.println(array[i]);
                return;
            }
        }
    }
    //3、统计10W个数据当中，每个数据出现的次数？ 对应的关系
    public static void func3(int[] array) {
        HashMap<Integer,Integer> map = new HashMap<>();
        //1、遍历原来的数据，统计每个数据出现的次数
        for (int i = 0; i < array.length; i++) {
            int key = array[i];
            if(map.get(key) == null) {
                map.put(key,1);
            }else {
                int val = map.get(key);//key出现的 次数
                map.put(key,val+1);
            }
        }
        //System.out.println("dfadsaf");
        for (Map.Entry<Integer,Integer> entry: map.entrySet()) {
            System.out.println("key: "+entry.getKey()+" 出现了："+entry.getValue()+"次！");
        }
    }

    public static void main(String[] args) {
        int[] array = {1,2,3,2,1,4};
        func3(array);
    }
}
